CREATE TABLE [dbo].[ContactAddress]
(
[ContactAddressKey] [uniqueidentifier] NOT NULL,
[AddressKey] [uniqueidentifier] NOT NULL,
[ContactKey] [uniqueidentifier] NOT NULL,
[AddressTypeKey] [uniqueidentifier] NOT NULL,
[IsPreferredOverall] [bit] NOT NULL,
[IsPreferredForCategory] [bit] NOT NULL,
[IsOptOut] [bit] NOT NULL,
[NoSolicitationFlag] [bit] NOT NULL,
[AddressCategoryCode] [int] NOT NULL,
[MarkedForDeleteOn] [datetime] NULL
) ON [PRIMARY]
GO
ALTER TABLE [dbo].[ContactAddress] ADD CONSTRAINT [PK_ContactAddress] PRIMARY KEY CLUSTERED ([ContactAddressKey]) ON [PRIMARY]
GO
ALTER TABLE [dbo].[ContactAddress] ADD CONSTRAINT [AK_ContactAddress] UNIQUE NONCLUSTERED ([ContactKey], [AddressKey]) ON [PRIMARY]
GO
CREATE NONCLUSTERED INDEX [IX_ContactAddress_AddressKey] ON [dbo].[ContactAddress] ([AddressKey]) ON [PRIMARY]
GO
CREATE NONCLUSTERED INDEX [IX_ContactAddress_ContactKey] ON [dbo].[ContactAddress] ([ContactKey]) ON [PRIMARY]
GO
ALTER TABLE [dbo].[ContactAddress] ADD CONSTRAINT [FK_ContactAddress_AddressCategoryRef] FOREIGN KEY ([AddressCategoryCode]) REFERENCES [dbo].[AddressCategoryRef] ([AddressCategoryCode])
GO
ALTER TABLE [dbo].[ContactAddress] ADD CONSTRAINT [FK_ContactAddress_AddressMain] FOREIGN KEY ([AddressKey]) REFERENCES [dbo].[AddressMain] ([AddressKey])
GO
ALTER TABLE [dbo].[ContactAddress] ADD CONSTRAINT [FK_ContactAddress_AddressTypeRef] FOREIGN KEY ([AddressTypeKey]) REFERENCES [dbo].[AddressTypeRef] ([AddressTypeKey])
GO
ALTER TABLE [dbo].[ContactAddress] ADD CONSTRAINT [FK_ContactAddress_ContactMain] FOREIGN KEY ([ContactKey]) REFERENCES [dbo].[ContactMain] ([ContactKey])
GO